package memento;

import java.util.List;

import logica.Jerarquia;
import vista.objetos.EntidadGraficable;
import vista.objetos.JerarquiaGraficable;

public class MementoJerarquiaGraficable extends MementoGraficable {

	private IMemento jerarquia;
	private List<EntidadGraficable> entidadesHijas;

	public MementoJerarquiaGraficable(JerarquiaGraficable jerarquiaGraficable) 
	{
		super(jerarquiaGraficable, jerarquiaGraficable.getPunto());
		
		this.entidadesHijas = jerarquiaGraficable.getEntidadesEspecializadas();
		this.jerarquia = ((Jerarquia)jerarquiaGraficable.getObjetoDiagramaDecorado()).getMementoGenerico();
	}

	@Override
	void cargarGraficable()
	{
		super.cargarGraficable();
		JerarquiaGraficable jerarquiaGraficable = (JerarquiaGraficable ) super.getGuardable();
		jerarquiaGraficable.setEntidadesEspecializadas(entidadesHijas);
	}

	@Override
	void cargarLogico() {
		this.jerarquia.cargarMemento();
	}
}
